﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace FrbaBus.DataRepository
{
    class RecorridoRepository : RepositoryBase
    {

        public void guardar(string codRecorrido, int ciudadOrigen, int ciudadDestino, float precioBasexKg, float precioBasexPasaje, int tipoServicio)
        {   
            //  Preparo los parametros para el stored procedure.
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@codigo", codRecorrido));
            parametros.Add(new SqlParameter("@ciudadOrigenId", ciudadOrigen));
            parametros.Add(new SqlParameter("@ciudadDestinoId", ciudadDestino));
            parametros.Add(new SqlParameter("@precioBaseKg", precioBasexKg));
            parametros.Add(new SqlParameter("@precioBasePasaje", precioBasexPasaje));
            parametros.Add(new SqlParameter("@tipoServicioId", tipoServicio));
            try
            {
                ejecutarStoredProcedure("sp_altaRecorrido", parametros);
            }
            catch (SqlException excepcionSql)
            {
                throw new ValidacionNegocioException("No se pudo dar de alta el Recorrido " + codRecorrido + ". Error: " + excepcionSql.Message);
            }

        }



        public char obtenerCiudad(string nbreCiudad)
        {
            char id = '9';
            //  Preparo los parametros para el stored procedure.
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@nombre", nbreCiudad));
            try
            {
                ejecutarStoredProcedure("sp_buscarIdCiudad", parametros);
            }
            catch (SqlException excepcionSql)
            {
                throw new ValidacionNegocioException("Error al buscar la ciudad: " + nbreCiudad + ". Codigo de Error: " + excepcionSql.Message);
            }

            return id;
        }



        public char obtenerServicio(string nbreServicio)
        {
            char id = '8';
            //  Preparo los parametros para el stored procedure.
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@descripcion", nbreServicio));
            try
            {
                ejecutarStoredProcedure("sp_buscarServicioPorDescripcion", parametros);
            }
            catch (SqlException excepcionSql)
            {
                throw new ValidacionNegocioException("Error al buscar el servicio: " + nbreServicio + ". Codigo de Error: " + excepcionSql.Message);
            }

            return id;
        }

    }
}
